def eat(*args):#* 代表聚合，把所有的位置参数聚合成一个元祖，赋值给了args
    print('我请你吃:%s,%s,%s,%s,%s'% args)

eat('挖地方','wda','wad','dasd','eaed')

def sum(*args):
    a=0
    for i in args:
        a+=i
    print(a)
sum(10,20,50,10)


#**，将所有的关键字参数聚合到一个字典中，将这个字典复制给lwargs
def func(**kwargs):
    print(kwargs)

func(name='alex',age=73,sex='ladyboy')



def func(*args,**kwargs):
    print(args)
    print(kwargs)
func(*[1,2,3],**{'name':'AK','age':18})
try:
    count=1
    def func():
        count+=2
        print(count)
    func()#UnboundLocalError: local variable 'count' referenced before assignment
    #局部作用域不能改变全局作用域的变量，当Python解释器读取到局部作用域时，发现了你对一个变量进行修改的操作，
    #解释器会认为你在局部已经定义过这个局部变量了，他就从局部找这个局部变量，报错了
except Exception as e:
    print(e)

v1='武器书'
def func():
    v1='晶女神'
    def inner():
        print(v1)
    v1='萧大侠'
    inner()
func()
v1='老男人'
func()



















# def func():
#
#     nonlocal count1=0
#
#     def inner():
#         count1+=1
#         print(count1)#使用可以，不能改变,UnboundLocalError: local variable 'count' referenced before assignment
#     inner()
# func()













